package main

/*
	进程间通信：
		1. 共享存储器系统
		在共享存储器系统中，相互通信的进程共享某种数据结构或共享存储区，
		进程之间可以通过这些空间进行通信。
		（1）基于共享数据结构的通信：要求诸进程公用某些数据结构，如生产者消费者模型之间的有界缓冲区
		属于操作系统仅提供共享存储器， 程序员实现共有数据结构和进程间的通信处理，
		通信效率低下，适合传递相对少量的数据。属于低级通信
		（2）基于共享存储区：高级通信。传递大量数据。内存中划出一块共享存储器区域。
		信息读写通信，及数据的形式和访问控制都是由进程控制的，通信进程需要在通信前想 OS 申请共享存储的一个区。

		2. 管道（pipe）通信系统。所谓管道就是链接一个读进程，和写进程之间实现通信的共享文件，又名pipe文件。
		有效的进行大量数据通信，以字符流形式。
		要有相关协调能力：（1）互斥，一个操作时另一个需要等待。（2）同步：读写同步。（3）确定双方存在才可进行通信。

		3. 消息传递系统
		（1）利用操作系统提供的原语，进行通信，数据交换。如计算机网络中，成为报文。
		分为直接通信：发送进程利用 OS提供的发送原语发送给对方。
		间接通信：发送和接收程序 都通过共享内存实体完成消息的收发。

		4. 客户机-服务器系统（Client-Server system）
		1. 套接字通信
		2. 远程过程（函数）调用 RPC， 是一个通信协议，用于通过网络连接的系统。


		运输层以下网络协议一般由操作系统内核实现。应用程序想要执行网络操作就要通过OS为应用程序提供的操作网络所需的接口
		这些接口被称为 网络应用编程接口。著名的API就是 套接字API。
		套接字API 定义了一组数据结构和操作。脑阔包括各种请求的资源地址，端口号协议类型等。

*/
